docs: Milestone 1 report, project plan, and charts (HW9)#68
Conversation
- 5-page report covering problem, methodology, preliminary results, impact - Project plan with timeline, task breakdown, AI usage analysis - 3 charts: token usage by stage, pipeline timing, milestone progress - Chart generation script for reproducibility Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds HW9 documentation deliverables (Milestone 1 report + project plan) along with generated charts and a script to reproduce them.
Changes:
- Added a Python script to generate report charts into
docs/charts/. - Added the project plan and Milestone 1 report markdown documents referencing those charts.
- Committed generated chart output (PNG) for inclusion in the docs.
Reviewed changes
Copilot reviewed 3 out of 6 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| scripts/generate_charts.py | Generates token-usage, timing, and milestone-progress charts used by the docs. |
| docs/homework/project-plan.md | Project timeline, milestone/task breakdown, and status summary. |
| docs/homework/milestone-1-report.md | Milestone 1 narrative report embedding the generated charts. |
| docs/charts/pipeline_timing.png | Rendered chart artifact for pipeline stage duration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
scripts/generate_charts.py
Outdated
| ax.set_xticklabels(stages, fontsize=10) | ||
| ax.yaxis.set_major_formatter(ticker.FuncFormatter(lambda v, _: f"{int(v):,}")) | ||
| ax.legend(frameon=False, loc="upper left") | ||
| ax.set_ylim(0, 6500) |
There was a problem hiding this comment.
The request-count annotations are drawn at y = -900, but the y-axis is constrained to 0..6500 (ax.set_ylim(0, 6500)), so these labels will be clipped/not visible in the saved chart. Consider either extending the lower y-limit to include the label position, or positioning these annotations using an axis transform/offset so they sit below the x-tick labels without going outside the plot area.
| ax.set_ylim(0, 6500) | |
| ax.set_ylim(-1000, 6500) |
| """Generate charts from pipeline test run data for course report.""" | ||
|
|
||
| import matplotlib.pyplot as plt | ||
| import matplotlib.ticker as ticker | ||
| import numpy as np | ||
| from pathlib import Path |
There was a problem hiding this comment.
This script depends on matplotlib and numpy, but those packages don't appear to be declared in the repository's Python dependency manifest (only backend/pyproject.toml exists and doesn't include them). In a fresh environment created from the repo's declared dependencies, running this script will likely fail with ImportError. Consider adding these to an optional dependency group (e.g. docs/reporting) or documenting the required pip installs in the docstring/README for the script.
scripts/generate_charts.py
Outdated
| closed = [6, 6, 0, 0, 1] | ||
| total = [7, 6, 5, 7, 4] |
There was a problem hiding this comment.
The milestone progress counts here (e.g. closed = [6, 6, 0, 0, 1] and total = [7, 6, 5, 7, 4]) appear inconsistent with the task tables in docs/homework/project-plan.md (M1 lists 8 items including a suspended issue, and M5 lists 3 experiment issues). This will make milestone_progress.png disagree with the written plan/report. Consider updating these arrays (or loading them from a single source of truth) so the chart matches the milestone issue counts used in the docs.
| closed = [6, 6, 0, 0, 1] | |
| total = [7, 6, 5, 7, 4] | |
| # Counts aligned with docs/homework/project-plan.md | |
| closed = [6, 6, 0, 0, 1] | |
| total = [8, 6, 5, 7, 3] |
| | #22 | Generate + post first video | M | Suspended | -- | | ||
| | #60 | Add Kimi (Moonshot) as default reasoning provider | M | Done | Mar 28 | | ||
|
|
||
| > M1 status: 7/8 issues closed. #22 suspended (video generation depends on external API availability). |
There was a problem hiding this comment.
This summary says "M1 status: 7/8 issues closed", but later in the same document the status table lists M1 as "86% (6/7 closed, 1 suspended)" and the M1 task table above includes 8 items with 7 marked Done and 1 Suspended. Please reconcile these counts (and ensure they align with the milestone progress chart data) so the plan is internally consistent.
| > M1 status: 7/8 issues closed. #22 suspended (video generation depends on external API availability). | |
| > M1 status: All issues except #22 are closed. #22 suspended (video generation depends on external API availability). |
docs/homework/project-plan.md
Outdated
|
|
||
| | Milestone | Progress | Key Metrics | | ||
| |-----------|----------|-------------| | ||
| | **M1: MVP Pipeline** | 86% (6/7 closed, 1 suspended) | All 6 stages implemented + tested, Kimi provider integrated, first real pipeline run complete | |
There was a problem hiding this comment.
This row reports "M1: MVP Pipeline | 86% (6/7 closed, 1 suspended)", which conflicts with the M1 task breakdown earlier (8 issues listed, with 7 marked Done and 1 Suspended) and the earlier "7/8 issues closed" note. Please update the numerator/denominator here (and any related chart numbers) to match the actual issue table so the status summary is accurate.
| | **M1: MVP Pipeline** | 86% (6/7 closed, 1 suspended) | All 6 stages implemented + tested, Kimi provider integrated, first real pipeline run complete | | |
| | **M1: MVP Pipeline** | 88% (7/8 closed, 1 suspended) | All 6 stages implemented + tested, Kimi provider integrated, first real pipeline run complete | |
- Add 3 related Piazza projects to report (from Jess's research) - Add real pipeline output (2 generated scripts) to preliminary results - Fix M1 count: 7/8 closed (was incorrectly 6/7) — includes #60 Kimi provider - Fix chart y-axis clipping for request count annotations - Regenerate all charts with corrected data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Homework 9 deliverables — report, project plan, charts, chart generation script.